package org.jeecg.modules.demo.staffmanagement.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import org.jeecg.modules.demo.staffmanagement.entity.SaleDetail;
import org.jeecg.modules.demo.staffmanagement.entity.ServiceDetail;
import org.jeecg.modules.demo.staffmanagement.entity.StaffManagement;
import org.jeecg.modules.demo.staffmanagement.entity.StaffShareDetail;

import java.util.List;
import java.util.Map;

/**
 * @Description: 员工管理
 * @Author: jeecg-boot
 * @Date: 2021-12-31
 * @Version: V1.0
 */
public interface IStaffManagementService extends IService<StaffManagement> {

    Map<String, Object> getStaffAward(String id, String startTime, String endTime);

    IPage<StaffManagement> getDataList(Page<StaffManagement> page, String startTime, String endTime, String searchSql, String orderby, String storeId);

    void updateTotal(String id, Double totalSell, Double sellMoney, Double serveMoney, Double totalShare);

    void updateTotalSell(String startTime, String endTime);

    void updateSellMoney(String startTime, String endTime);

    void updateServeMoney(String startTime, String endTime);

    void updateTotalDeduction();

    void updateTotalShare(String startTime, String endTime);

    void updateTotalSalary(String startTime, String endTime);

    void updateTotalSalary2(Long days, String startTime, String endTime);

    List<SaleDetail> selectSaleDetail(String orderCode, String memberName, String staffName, String staffTel, String startTime, String endTime, String storeId);

    List<ServiceDetail> selectServiceDetail(String orderCode, String memberName, String staffName, String staffTel, String startTime, String endTime, String storeId);

    List<StaffShareDetail> selectStaffShareDetail(String orderCode, String memberName, String staffName, String staffTel, String startTime, String endTime, String storeId);

    Double getCommoditySell(String staffId, String startTime, String endTime);

    Double getProjectSell(String staffId, String startTime, String endTime);

    Double getCommodityMoney(String staffId, String startTime, String endTime);

    Double getProjectMoney(String staffId, String startTime, String endTime);

    Double getServeMoney(String staffId, String startTime, String endTime);

    Double getTotalShare(String staffId, String startTime, String endTime);
}
